之前讨论过OpenWrt怎样使用dnspod的动态域名解析,最终制作了一个ipk包,在这里做一个汇总,将这个软件包的使用步骤说明一下。
由于没有luci界面,只能通过ssh操作,故要求掌握最基本的ssh登录、vi的使用。
-
注册域名。
-
在DNSPod(https://www.dnspod.cn/)注册帐号并添加域名,并修改域名注册商处的域名DNS地址,可参照这里
-
添加一个A记录,子域名如”openwrt”,可参照这里
-
安装sddns包,用ssh(可用putty)登录到OpenWrt,执行:
opkg update wget http://vincasrcfiles.googlecode.com/files/sddns_0.0.7-1_all.ipk opkg install sddns_0.0.7-1_all.ipk rm sddns_0.0.7-1_all.ipk
若提示curl错误,请先安装curl软件包。
-
配置sddns,sddns的配置文件在/etc/config/目录中,格式如下:
config base_arg option 'login_email' '[email protected]' #登录邮箱 option 'login_password' 'ccdd' #登录密码 option 'main_domain' 'baidu.com' #域名,形如"baidu.com" option 'sub_domain' 'xx' #主机记录,形如"xx.baidu.com"
下面这个区域不需做任何配置,sddns会存放一些临时数据,如果更改了上面的域名与主机记录,删除下面区域中的"xxx_id"项
config tmp_arg
ssl cacert file or directory
option 'cacert' '/etc/ssl/cacert.pem' # 证书文件位置,默认不用修改
option 'wanip' 'c.lexun.com/ip'
```
将dnspod注册的邮箱、密码,以及域名、第三步添加的子域名的名称填到对应条目,保存退出,然后直接执行sddns,若提示中有`”message”:”Action completed successful”`,则表明正确执行了。
*由于明文存储,请注意密码的安全性。建议加强OpenWrt的安全策略。*
-
添加一个定时执行条目,如在 /etc/crontabs/root中添加(建议使用 crontab -e 命令:
\*/15 * * * * /usr/bin/sddns 2>/dev/null #ddns
即每隔15分钟执行一次sddns,注意星号间的空格。
OpenWrt中crontab使用注意事项请看这里。
-
登录dnspod网站,检查操作记录,是否如上一步所设定的时间间隔更新域名信息。
最新版及更新记录在这里
2012年12月30日此文檔更新:
OpenWrt以外的操作系統使用辦法:
將.ipk文件(標準的.tar.gz文件)用7z-zip等解壓工具打開,會看到debian-binary、data.tar.gz、control.tar.gz文件,繼續打開data.tar.gz,將usr/bin/中sddns提取出來,這即是核心文件;再在control.tar.gz中提取etc/config/sddns配置文件,放在$HOME/或/etc下,配置請參見這裡 。
若域名更新失敗并且sddns沒有任何提示,刪除 /etc/config/sddns
中含有 option cur_ip
的行并再次執行sddns。
2013年08月07日此文檔更新:
由於0.0.9以上版本面向通用的linux/xBSD,故不再使用OpenWrt的functions.sh
,配置文件格式有所變化,可參考這裏。